#ifndef __LIB_AGORA_ICHANNELRIGHT_H__
#define __LIB_AGORA_ICHANNELRIGHT_H__

class	IChannelRight
{
public:
	virtual const unsigned int	GetId(void) const = 0;
	virtual void				SetChannelRight(const bool canCreate, const bool canDelete, const bool canEdit, const bool canEditUser, const bool canTalk, const bool canWrite, const bool canKick, const bool canBan) = 0;
	virtual const bool			GetCanCreateChannelChild(void) const = 0;
	virtual void				SetCanCreateChannelChild(const bool value) = 0;
	virtual const bool			GetCanDeleteChannelChild(void) const = 0;
	virtual void				SetCanDeleteChannelChild(const bool value) = 0;
	virtual const bool			GetCanEditChannel(void) const = 0;
	virtual void				SetCanEditChannel(const bool value) = 0;
	virtual const bool			GetCanEditUserRight(void) const = 0;
	virtual void				SetCanEditUserRight(const bool value) = 0;
	virtual const bool			GetCanTalkChannel(void) const = 0;
	virtual void				SetCanTalkChannel(const bool value) = 0;
	virtual const bool			GetCanWriteChannel(void) const = 0;
	virtual void				SetCanWriteChannel(const bool value) = 0;
	virtual const bool			GetCanKickUser(void) const = 0;
	virtual void				SetCanKickUser(const bool value) = 0;
	virtual const bool			GetCanBanUser(void) const = 0;
	virtual void				SetCanBanUser(const bool value) = 0;
};

#endif